package com.csun.cmny.provider.service;

import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.DmcPhoneLocation;
import com.csun.cmny.provider.model.dto.device.DevicePageQuery;
import com.csun.cmny.provider.model.dto.phone.BindPhoneLocationDto;
import com.csun.cmny.provider.model.dto.phone.PhonePageQuery;
import com.csun.cmny.provider.model.dto.propertyManagement.SelectDeviceDataDto;
import com.csun.cmny.provider.model.vo.propertyManagement.PropertyDataVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2019-02-11 13:46
 * @Description: the interface dmc phone location service
 */
public interface DmcPhoneLocationService extends IService<DmcPhoneLocation> {

    /**
     * bind phone location
     *
     * @param bindPhoneLocationDto  bind phone location dto
     *
     * @return  the int.
     */
    Integer bindPhoneLocation(BindPhoneLocationDto bindPhoneLocationDto);

    /**
     * break phone location
     *
     * @param deviceId  device id
     *
     * @return  the int.
     */
    Integer breakPhoneLocation(Long deviceId);

    /**
     * query phone list with page
     *
     * @param phonePageQuery    phone page query
     *
     * @return the page info.
     */
    PageInfo queryPhoneListWithPage(PhonePageQuery phonePageQuery);

    /**
     * delete phone by id
     *
     * @param id    id
     *
     * @return  the int.
     */
    Integer deletePhoneById(Long id);

    List<PropertyDataVo> selectDeviceData(SelectDeviceDataDto selectDeviceDataDto);
}
